package com.xuecheng.manage_course.service;

import com.xuecheng.framework.domain.course.CoursePic;
import com.xuecheng.framework.domain.course.Teachplan;
import com.xuecheng.framework.domain.course.ext.CourseInfo;
import com.xuecheng.framework.domain.course.ext.CourseView;
import com.xuecheng.framework.domain.course.ext.TeachplanNode;
import com.xuecheng.framework.domain.course.request.CourseListRequest;
import com.xuecheng.framework.domain.course.response.CoursePublishResult;
import com.xuecheng.framework.model.response.QueryResponseResult;
import com.xuecheng.framework.model.response.ResponseResult;

import java.util.List;

public interface CourseService {
    /**
     *
     * @param courseId TeachplanNode id
     * @return the TeachplanNode
     */
    TeachplanNode findTeachplanList(String courseId);

    ResponseResult addTeachplan(Teachplan teachplan);

    ResponseResult saveCoursePic(String courseId, String pic);

    CoursePic findCoursePic(String courseId);

    ResponseResult deleteCoursePic(String courseId);

    QueryResponseResult findCourseList(int page, int size, CourseListRequest courseListRequest);

    CourseView getCourseView(String id);

    CoursePublishResult preview(String id);

    CoursePublishResult publish(String id);
}
